Strategies of ELAN: Meta-Interpretation and Partial Evaluation
نویسندگان
چکیده
ELAN is an environment for prototyping and combining different deduction systems described using rewrite rules and strategies. Two languages of strategies used for controlling rewriting are presented in this paper. The first one, called built-in strategy language, is hard-wired with the implementation of ELAN, and thus, non-extensible from the user’s point of view. However, it provides an efficient implementation of the more flexible second one, the defined strategy language. This paper illustrates the defined strategy language on an example of the leftmost innermost normalization strategy, and describes its implementation in ELAN through a meta-interpreter. An optimization technique based on partial evaluation of strategies is presented in this paper. This technique applied to the meta-interpreter of the defined strategy language gives promising results.
منابع مشابه
Partial Evaluation of Order-Sorted Equational Programs Modulo Axioms
Partial evaluation (PE) is a powerful and general program optimization technique with many successful applications. However, it has never been investigated in the context of expressive rule-based languages like Maude, CafeOBJ, OBJ, ASF+SDF, and ELAN, which support: 1) rich type structures with sorts, subsorts and overloading; 2) equational rewriting modulo axioms such as commutativity, associat...
متن کاملCARIBOO : A Multi-Strategy Termination Proof Tool Based on Induction
CARIBOO is a termination proof tool for rule-based programming languages, where a program is a rewrite system and query evaluation consists in rewriting a ground expression [3]. It applies to languages such as ASF+SDF, Maude, Cafe-OBJ, or ELAN. By contrast with most of the existing tools, which prove in general termination of standard rewriting (rewriting without strategy) on the free term alge...
متن کاملOrder -
Generalization, also called anti-unification, is the dual of unification. Given terms t and t′, a generalization is a term t′′ of which t and t′ are substitution instances. The dual of a most general unifier (mgu) is that of least general generalization (lgg). In this work, we extend the known untyped generalization algorithm to an order-sorted typed setting with sorts, subsorts, and subtype po...
متن کاملCompiling Away the Meta-Level in Object-Oriented Concurrent Re ective Languages Using Partial Evaluation
Meta-level programmability is bene cial for parallel/distributed object-oriented computing to improve performance, etc. The major problem, however, is interpretation overhead due to meta-circular interpretation. To solve this problem, we propose a compilation framework for object-oriented concurrent re ective languages using partial evaluation. Since traditional partial evaluators do not allow ...
متن کاملOrder-Sorted Generalization
Generalization, also called anti-unification, is the dual of unification. Given terms t and t′, a generalization is a term t′′ of which t and t′ are substitution instances. The dual of a most general unifier (mgu) is that of least general generalization (lgg). In this work, we extend the known untyped generalization algorithm to an order-sorted typed setting with sorts, subsorts, and subtype po...
متن کامل